In semiconductor-integrated non-volatile memory devices, such as Flash memories, having a single voltage supply, program voltages and currents must be generated internally of the device by charge pumps. Conventional charge pumps have a voltage/current characteristic of the kind illustrated in FIG. 1.
As can be seen from this figure, the larger the current to be output, the smaller is the voltage value that the pump can provide. Accordingly, charge pumps can only supply current in limited amounts.
In a Flash memory with a single supply voltage, the most critical voltage to generate is the voltage to be supplied to the drain terminal of the Flash cell at the programming stage. At this stage, in fact, the voltage to be supplied to the drain is V.sub.Dprg .congruent.5 V, while the current required is I.sub.Dprg .congruent.500 .mu.A/cell. Where eight bits (equal to one byte) are to be programmed simultaneously, the total current to be delivered will be 500 .mu.A.multidot.8=4 mA. Where sixteen bits (i.e., a memory word) are to be programmed simultaneously, the current to be delivered will be 8 mA.
It will be appreciated that, in order to supply such current values, the charge pumps connected to the drain terminal must be quite large, and are bound to draw much of the supply current. This disadvantage has a side effect in that noise is also produced.
This situation is fairly critical as such, and is aggravated by two aspects:
1) Initial Current Peak
During the programming phase, constant voltage values are normally supplied to both the drain and gate terminals of the Flash cell. These values are illustratively shown in the accompanying FIG. 2.
The pattern of the drain current over time can be appreciated from the phantom line plots shown in FIG. 3, where several curves for the drain current at the programming stage are plotted versus drain voltage and parameterized on the basis of a discrete time ti, it being t1&lt;t2&lt;t3&lt;t4.
As shown in the figure, the drain current has, at any values of the drain voltage, a sharp initial peak which then flattens out over time. This peak is caused by the floating gate, which has no electrons at the start, becoming charged with electrons during the programming phase. The electrons screen off the positive gate voltage, which results in the threshold voltage of the Flash cell being raised and the cell conducting less current for a given control gate voltage applied thereto. The phenomenon can be expressed analytically as follows: EQU V.sub.FG =.alpha..sub.S V.sub.S +.alpha..sub.G V.sub.CG .alpha..sub.D V.sub.D +.alpha..sub.B V.sub.B +Q/C.sub.T =.alpha..sub.G V.sub.CG .alpha..sub.D V.sub.D +Q/C.sub.T (A)
where: V.sub.FG is the floating gate voltage; the subscripts S, G, D and B respectively denote the source, gate, drain, and bulk terminals V.sub.CG is the control gate voltage; .alpha..sub.X =C.sub.V /C.sub.T ; C.sub.T =C.sub.S +C.sub.B +C.sub.D +C.sub.G ; Q is the charge build-up on the floating gate. The capacitive couplings are depicted schematically in FIG. 5. During the programming, VFG decreases because the negative charge Q increases in size.
Notice that V.sub.S and V.sub.B are zero as shown in FIG. 4.
The values given above in relation to the drain current (I.sub.Dprg .congruent.500 mA/cell) are mean values; the initial peak in current draw would just aggravate the situation, since the current that the drain pumps are to supply for a given voltage (V.sub.Dprg .congruent.5 V) would have to be even larger and equal to the peak current. This means that larger charge pumps must be provided, thereby increasing power consumption and generating more noise.
2) Current Increase Based on Process and Temperature Variations
Due to process variations, affecting especially the channel length of the cell, and to variations in the temperature at which the programming phase is performed, the drain current under critical conditions may even be twice as large as that under normal conditions. For example, critical may be a condition of cells having a channel length which is slightly smaller than average, and being operated at a low temperature.
Here again, the charge pumps have to be made larger, more power is consumed and noise generated, because they must be capable of delivering the maximum required current.
The prior art proposes a solution effective to obviate in part the problem mentioned under (1) above. To attenuate this problem it is common practice to have the gate supplied, rather than a fixed voltage, a voltage which increases over time according to a pattern which may be linear, exponential, stepwise, or else, such as that shown schematically in FIG. 6.
Thus, an effort is made to compensate for the negative charge being built up on the floating gate by providing an increasingly more positive voltage at the control gate; according to formula (A) under (1) above, this is equivalent to increasing the voltage V.sub.CG in order to compensate for the negative charge Q which is being built up. In this way, the floating gate voltage V.sub.FG is held constant and with it, the drain current as well.
This approach slightly lowers the programming efficiency below that to be achieved by applying constant value voltage like those shown in FIG. 2. In other words, for a given programming time, the threshold jump can be less; that is, the programming time must be lengthened for a given threshold jump.
This is caused by the mean transverse electric field between the gate and drain terminals being smaller in the instance of a growing gate voltage than in the instance of a constant voltage, even though the end value of the gate voltage may be the same in either instances. However, this partial loss in efficiency at the programming stage is outweighed by a significantly lower initial current peak.
Plotted in FIG. 3 are full line curves as obtained by programming with a ramp on the gate, and it can be appreciated that their initial current peaks are limited.
While being advantageous from this standpoint, this prior solution still has drawbacks. In particular, it can be seen from FIG. 3 that, at useful drain voltages (V.sub.D &gt;4.5 V), a larger initial current persists all the same. This necessitates fairly large charge pumps, since they must be capable of supplying a relatively large initial current value, that is, they must have a relatively high pickup.
The capability to initially supply a fairly large current is unused, however, during the rest of the programming phase for which the current decreases.
It matters to also observe that the larger the drain current, the larger becomes the gate current, or the higher becomes the programming efficiency, because of the increased number of hot channel electrons.
However, the methods adopted heretofore have failed to provide a constant drain current, since they are based on an increase in gate voltage over time which is unrelated to the drain current being actually conducted by the cell each time. The gate voltage is increased linearly, exponentially, stepwise, or in some other "predictive" forms, that is set once for all on the basis of a predetermined pattern at the designing stage. An increase of this kind in the gate voltage obviously cannot provide a constant drain current, because the latter would change between chips due to variations occurring in the fabrication process, change between cells in the same chip, and for each cell, change with temperature.
In essence, prior solutions have failed to provide a constant drain current. This can also be seen from FIG. 3 showing that the drain current does not remain constant over time during the programming, even with a ramp-type programming.
As a further solution, it could be conceived of achieving constant current programming by selecting an appropriate value for the drain voltage, e.g., at the crosspoint X of the full line curves, at approximately 4.8-4.9 V. At this crosspoint X, current is indeed near-constant from the programming start to its end.
Actually, this solution is not practicable for a number of reasons. First, the crosspoint X position varies within a wide range according to process variations, and in particular on the basis of unavoidable variations in the cell lengths and in temperature.
The location of the crosspoint X is also dependent on the highest obtainable gate voltage and on the ramp rate, which is not easy to control.
Finally, the drain voltage should be selected for the highest possible efficiency and according to the programming duration sought, and this value may not coincide with the curve crosspoint X.